//
//  ZKTransitionInteractiveConfig.h
//  朱凯的工具箱
//
//  Created by pro on 17/5/12.
//  Copyright © 2017年 zhukai. All rights reserved.
//

#import <UIKit/UIKit.h>



typedef enum : NSUInteger {
    ZKTransitionInteractiveDirectionLeft,           // right -> left
    ZKTransitionInteractiveDirectionRight,          // left  -> right
    ZKTransitionInteractiveDirectionUp,             // down  -> up
    ZKTransitionInteractiveDirectionDown,           // up    -> down
} ZKTransitionInteractiveDirection;

typedef enum : NSUInteger {
    ZKTransitionInteractiveGestureTypeNormalPan,    // 普通拖动
    ZKTransitionInteractiveGestureTypeEdgePan,      // 边缘拖动
} ZKTransitionInteractiveGestureType;

typedef void(^ZKGestureConfigFetch)(ZKTransitionInteractiveGestureType type, ZKTransitionInteractiveDirection direct, CGFloat usefulSize);

@interface ZKTransitionInteractiveConfig : UIPercentDrivenInteractiveTransition

// 记录当前是否需要交互
@property (nonatomic, assign, readonly) BOOL interation;


- (instancetype)initWithOperation:(dispatch_block_t)operationBlock
                    gestureConfig:(void(^)(ZKGestureConfigFetch fetch))gestureConfig;

- (void)addGestureToView:(UIView *)view;

@end
